package com.cn.collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * - Collection集合概述
 *   - 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
 *   - JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现
 *
 * - Collection集合常用方法
 *     方法名                       	说明
 *     boolean add(E e)          	添加元素
 *     boolean remove(Object o)  	从集合中移除指定的元素
 *     boolean removeIf(Object o)	根据条件进行移除
 *     void   clear()            	清空集合中的元素
 *     boolean contains(Object o)	判断集合中是否存在指定的元素
 *     boolean isEmpty()         	判断集合是否为空
 *     int   size()              	集合的长度，也就是集合中元素的个数
 */
public class Collection_01_Introduction {
    public static void main(String[] args) {
        //1. boolean add(E e)
        //	功能：
        //	向集合中添加一个元素。
        //	如果集合发生了变化（添加成功），返回 true；否则返回 false。
        Collection<String> collection1 = new ArrayList<>();
        collection1.add("A");
        collection1.add("B");
        System.out.println("集合内容："+collection1);

        //2. boolean remove(Object o)
        //	功能：
        //	从集合中移除指定的元素（如果存在）。
        //	如果移除成功，返回 true；如果集合中不存在该元素，返回 false。
        Collection<String> collection2 = new ArrayList<>();
        collection2.add("A");
        collection2.add("B");
        boolean removed = collection2.remove("A");
        System.out.println("移除结果："+removed);
        System.out.println("集合内容："+collection2);

        //3.boolean removeIf(Predicate<? super E> filter)
        //功能：
        //根据指定的条件移除集合中的元素。
        //使用 Lambda 表达式传递移除条件。
        Collection<Integer> collection3 = new ArrayList<>();
        collection3.add(1);
        collection3.add(2);
        collection3.add(3);
        //移除所有大于一的元素
        collection3.removeIf(num->num>1);
        System.out.println("集合内容："+collection3);

        //4. void clear()
        //功能
        //	清空集合中的所有元素。
        //	集合本身仍然存在，但元素数量变为 0。
        Collection<String> collection4 = new ArrayList<>();
        collection4.add("A");
        collection4.add("B");
        collection4.clear();
        System.out.println("集合内容: " + collection4); // 输出: []

        //5. boolean contains(Object o)
        //	功能：
        //	•	判断集合中是否包含指定的元素。
        //	•	返回 true 表示包含，返回 false 表示不包含。
        Collection<String> collection5 = new ArrayList<>();
        collection5.add("A");
        collection5.add("B");
        System.out.println("是否包含A:"+collection5.contains("A"));
        System.out.println("是否包含C:"+collection5.contains("C"));

        //6.boolean isEmpty()
        //功能
        //判断集合集合中有没有任何元素，返回true,否则返回false
        Collection<String> collection6 = new ArrayList<>();
        System.out.println("集合是否为空: " + collection6.isEmpty()); // 输出: true
        collection6.add("A");
        System.out.println("集合是否为空: " + collection6.isEmpty()); // 输出: false

        //7.int size()
        //功能：
	    //返回集合中元素的数量。
	    //如果集合为空，返回 0。
        Collection<String> collection7 = new ArrayList<>();
        collection7.add("A");
        collection7.add("B");
        System.out.println("集合大小: " + collection7.size()); // 输出: 2









    }
}
